Workstation Management Application

ABSTRACT

Disclosed are various embodiments for a workstation management application. An identification of a user is obtained in a user interface. A listing of workstations that the user has accessed is rendered in the user interface. A selection of one of the workstations is obtained in the user interface. A listing of management tasks configured for the workstation is rendered in the user interface. One of a plurality of management tools is launched to perform a selected one of the management tasks for the workstation.

BACKGROUND

A large organization may have numerous users and workstations on acomputer network. While some users may have a dedicated workstation andonly use that workstation, other users may use multiple workstations atleast sometimes. For auditing, problem solving, and other reasons, itmay be desirable for information technology support personnel to knowwhich workstation a user has logged into and when. It may be difficultfor users having limited knowledge of information technologyarchitecture to identify their workstations to the support personnel.The support personnel may have to guide a user through a procedure inorder to discover which workstation the user is currently using. Such aprocedure may be confusing and/or inconvenient for the user.Alternatively, the support personnel may have to scour log filesmanually, which may be difficult and time consuming. Further, the usersmay not be able to identify workstations that they have previously used,which may lead support personnel to examine log files.

BRIEF DESCRIPTION OF THE DRAWINGS

Many aspects of the present disclosure can be better understood withreference to the following drawings. The components in the drawings arenot necessarily to scale, emphasis instead being placed upon clearlyillustrating the principles of the disclosure. Moreover, in thedrawings, like reference numerals designate corresponding partsthroughout the several views.

FIG. 1 is a drawing of a networked environment according to variousembodiments of the present disclosure.

FIGS. 2-8 are drawings of examples of user interfaces rendered by aworkstation management application executed in a computing device in thenetworked environment of FIG. 1 according to various embodiments of thepresent disclosure.

FIG. 9 is a flowchart illustrating one example of functionalityimplemented as portions of a workstation management application executedin a computing device in the networked environment of FIG. 1 accordingto various embodiments of the present disclosure.

FIG. 10 is a schematic block diagram that provides one exampleillustration of a computing device employed in the networked environmentof FIG. 1 according to various embodiments of the present disclosure.

DETAILED DESCRIPTION

The present disclosure relates to a workstation management applicationthat may be used to manage network-connected workstations in anenvironment of many workstations and many users. The workstationmanagement application provides a simplified interface for ascertainingwhich workstations a user was logged into and when. In addition, theworkstation management application enables information technologysupport personnel to perform a variety of workstation managementfunctions through the same interface. The workstation managementapplication may reduce or eliminate retyping information such asusernames or workstation names into multiple forms or applications.Further, the workstation management application may be configured to usea “lazy-loading” information retrieval strategy, wherein information maybe selected before it is actually loaded. In the following discussion, ageneral description of the system and its components is provided,followed by a discussion of the operation of the same.

With reference to FIG. 1, shown is a networked environment 100 accordingto various embodiments. The networked environment 100 includes one ormore computing devices 103 in data communication with a plurality ofworkstations 106 by way of a network 109. The network 109 includes, forexample, the Internet, intranets, extranets, wide area networks (WANs),local area networks (LANs), wired networks, wireless networks, or othersuitable networks, etc., or any combination of two or more suchnetworks.

The computing device 103 may comprise, for example, a server computer, aclient computer, or any other system providing computing capability.Alternatively, a plurality of computing devices 103 may be employed thatare arranged, for example, in one or more server banks or computer banksor other arrangements. For example, a plurality of computing devices 103together may comprise, for example, a cloud computing resource, a gridcomputing resource, and/or any other distributed computing arrangement.Such computing devices 103 may be located in a single installation ormay be dispersed among many different geographical locations. Forpurposes of convenience, the computing device 103 is referred to hereinin the singular. Even though the computing device 103 is referred to inthe singular, it is understood that a plurality of computing devices 103may be employed in the various arrangements as described above.

Various applications and/or other functionality may be executed in thecomputing device 103 according to various embodiments. Also, variousdata is stored in a data store 112 that is accessible to the computingdevice 103. The data store 112 may comprise a networked file share, adirectory on a hard drive or other storage medium of the computingdevice 103, a relational database, a flat-file database, or any othermechanism for storing data. The data store 112 may be representative ofa plurality of data stores 112 as can be appreciated. The data stored inthe data store 112, for example, is associated with the operation of thevarious applications and/or functional entities described below.

The components executed on the computing device 103, for example,include a workstation management application 115, one or more managementtools 118, and other applications, services, processes, systems,engines, or functionality not discussed in detail herein. Theworkstation management application 115 is executed to provide aninterface for information technology support personnel or othermanagement users to look up workstations 106 associated with a givenidentification of a user and to perform management functions on thoseworkstations 106. The workstation management application 115 may also beexecuted to provide a management interface for a workstation 106 givenan identification of the workstation 106.

In various embodiments, the workstation management application 115 maycomprise a thin client, a thick client, a standalone application, anetworked application, a network page interface application, and so on.Where the workstation management application 115 comprises a networkpage interface application, the workstation management application 115may incorporate a browser application. Examples of commerciallyavailable browser applications include Mozilla® Firefox®, Microsoft®Internet Explorer®, Apple® Safari®, etc. To this end, the workstationmanagement application 115 may include one or more network pages, suchas web pages, that may include various client-side code in languagessuch as, for example, Javascript, JScript, VBScript, C#, and so on. Inone embodiment, the browser application may download the various networkpages from a network page server accessible within the network 109. Inanother embodiment, the browser application may access locally storednetwork pages and associated data.

The management tools 118 correspond to any of various applications ortools that may be configured to manage workstations 106. As non-limitingexamples, a management tool 118 may correspond to a utility for browsinga file system of a workstation 106, a tool for managing tasks on aworkstation 106 remotely, a tool for editing a system registry of aworkstation 106 remotely, a tool for offering assistance remotely, atool for accessing a console or command prompt of a workstation 106, atool for viewing and/or interacting with a screen of the workstation 106remotely, and/or other tools for managing workstations 106. Suchmanagement tools 118 may comprise third-party tools such as remotedesktop software, Virtual Network Computing (VNC), Microsoft® SystemsManagement Server Remote Tools, and/or other tools. In addition, themanagement tools 118 may include network management, performancemeasurement, and diagnosis applications such as ping, traceroute, SimpleNetwork Management Protocol (SNMP) applications, and other applications.

The data stored in the data store 112 includes, for example, user data121, log data 124, and potentially other data. The user data 121 mayinclude any information related to users of workstations 106, such as,for example, username, real name, job title, business unit, building,location, supervisor, workgroup, domain, dedicated workstations 106,email address, unique identifier, and/or other information. In oneembodiment, the user data 121 may be obtained through a directoryserver, such as, for example, a Lightweight Directory Access Protocol(LDAP) server, an Active Directory server, or another type of directoryserver.

The log data 124 may include data relating to logon events associatedwith users and workstations 106. For example, the log data 124 mayspecify when a user has logged into a particular workstation 106 and/orwhen a user has logged out from a particular workstation 106. The logdata 124 may be indexed by username, workstation name, and/or other datafields in various embodiments. In one embodiment, the log data 124comprises a plurality of log files, where each of the files containslogon events associated with a corresponding user account. In oneembodiment, each of the workstations 106 may have access to insert newlogon events within the log data 124 as the logon events are generated.In another embodiment, a server that handles authentication or anotherserver may have access to insert new logon events within the log data124.

The workstations 106 a, 106 b . . . 106N are representative of aplurality of client devices that may be coupled to the network 109. Eachworkstation 106 may comprise, for example, a processor-based system suchas a computer system. Such a computer system may be embodied in the formof a desktop computer, a laptop computer, a personal digital assistant,a cellular telephone, set-top box, music players, web pads, tabletcomputer systems, game consoles, or other devices with like capability.Each workstation 106 may include corresponding workstation data 127, oneor more management interfaces 130, and other applications and data asappropriate.

The management tools 118 and/or the workstation management application115 may be configured to send management commands 133 over the network109. The management commands 133 may include any type of data used inmanaging the workstations 106. In response, status updates 136 may begenerated by the workstations 106 and returned to the management tools118 and/or the workstation management application 115.

Next, a general description of the operation of the various componentsof the networked environment 100 is provided. To begin, each time a userlogs into a workstation 106, a logon event is generated and storedwithin the log data 124. Likewise, each time a user logs out from aworkstation 106, another logon event may be generated and stored withinthe log data 124. A management user may access the workstationmanagement application 115 on the computing device 103 and initiate amanagement session. A management session employing the workstationmanagement application 115 will be described in the following paragraphswith reference to the networked environment of FIG. 1 and the exampleuser interfaces depicted in FIGS. 2-8.

Turning now to FIG. 2, shown is one example of a user interface 200rendered in the computing device 103 of the networked environment 100.The user interface 200 depicts an initial screen of the workstationmanagement application 115. The user interface 200 is shown as a networkpage rendered in a browser application but may comprise any type of userinterface in other embodiments. The user interface 200 may include, forexample, a username entry form 203, and a workstation name entry form206, and/or other components.

The username entry form 203 may include a username entry field 209, asubmit component 212, and/or other components. Although the usernameentry field 209 is depicted as a text input field, the username entryfield 209 may comprise a drop-down box, slider, checkboxes, radiobuttons, and/or other user interface components in other embodiments.When a management user would like to find workstation information for auser, the management user may simply enter the username, the last nameof the user, a unique identifier associated with the user, or otheridentification corresponding to the user in the username entry field 209and then select the submit component 212.

The workstation name entry form 206 may include a workstation name entryfield 215, a submit component 218, and/or other components. Although theworkstation name entry field 215 is depicted as a text input field, theworkstation name entry field 209 may comprise a drop-down box, slider,checkboxes, radio buttons, and/or other user interface components inother embodiments. When a management user would like to findworkstations to manage, the management user may simply provide acomputer name, Domain Name Service (DNS) name, host name, InternetProtocol (IP) address, Media Access Control (MAC) address, and/or otheridentification corresponding to the workstation 106 in the workstationname entry field 215 and then select the submit component 218.

Although the workstation name entry form 206 is depicted as below theusername entry form 203 in the user interface 200, it is understood thatthe workstation name entry form 206 and the username entry form 203 maybe presented at any position in the user interface 200. In otherembodiments, the workstation name entry form 206 may be optional and maybe presented in a different screen or user interface 200 from theusername entry form 203.

Referring next to FIG. 3, shown is another example of a user interface300 rendered in the computing device 103 of the networked environment100. The user interface 300 depicts a user management screen of theworkstation management application 115. The user interface 300 is shownas a network page rendered in a browser application but may comprise anytype of user interface in other embodiments. In the user interface 300,the username of “jsmith” has been entered in the username entry field209 and the submit component 212 has been selected.

Accordingly, the workstation management application 115 has searched theuser data 121 and rendered information about the user “jsmith.” The userinformation 303 may include a full name of the user, title, businessunit, unique identifier, and/or other information that may be helpful tomanagement users or other information technology support personnel. Theworkstation management application 115 has also searched the log data124 for logon events associated with the given user “jsmith.” Theworkstation management application 115 has rendered a workstationlisting 306 for displaying this information. The workstation listing 306may comprise a viewport, a text area, a grid, a spreadsheet, a list oflinks, a frame, an internal frame, and/or any other type of displayregion within a user interface 300 that is suitable for displaying alisting of information regarding workstations 106 that a user has used.

The workstation listing 306 may include one or more workstation entries309. In the example of FIG. 3, four workstation entries 309 a, 309 b,309 c, and 309 d are illustrated. Although four workstation entries 309are illustrated in FIG. 3, it is understood that the workstation listing306 may be configured to display any number of workstation entries 309.For example, scroll bars may be provided to enable additionalworkstation entries 309 to be provided within the workstation listing306 beyond those which are initially visible in the user interface 300.In one embodiment, the workstation listing 306 comprises a listing of aproper subset of the workstations 106 that the user has accessed.

Workstation listing controls 312 may be provided to select a number ofworkstation entries 309 to be displayed within the workstation listing306. In the non-limiting example of FIG. 3, workstation listing controls312 include a link for displaying the last ten workstation entries 309,a link for displaying the last twenty workstation entries 309, and alink for displaying all of the workstation entries 309. It is understoodthat other user interface components may be used for the workstationlisting controls 312 as can be appreciated.

Each workstation entry 309 may include, for example, an expand component315, a workstation name 318, a copy component 321, logon eventinformation 324, and/or other information or components. The expandcomponent 315, when selected, may trigger the rendering of additionalinformation in the user interface 300, for example, within an elasticdisplay region between the respective workstation entry 309 and anadjacent workstation entry 309. Such an elastic display region isdepicted in FIG. 4 and may correspond to a tree user interface componentfor navigation. The workstation name 318 may comprise a link, button, orother user interface component for selecting the identified workstation106 for displaying additional information and/or performing managementtasks. The copy component 321 may comprise a link, button, or other userinterface component for copying information about the workstation 106 orthe user to a system clipboard of the computing device 103.

The logon event information 324 may include specific information relatedto a logon event recorded in the log data 124 such as, for example, atime associated with the logon event, a duration associated with thelogon event, whether errors in security credentials (e.g., mistypedpasswords) occurred, whether a user logged in or logged out, and so on.In FIG. 4, the workstation entries 309 are ordered within theworkstation listing 306 according to a time in the logon eventinformation 324. In other embodiments, the workstation entries 309 maybe randomly ordered or ordered according to other criteria. For example,the workstation entries 309 may be ordered alphabetically by theworkstation names 318. In another embodiment, the workstation entries309 may be collated according to workstation 106 and configured toprovide information related to multiple logon events within a singleworkstation entry 309 corresponding to a workstation 106.

Moving on to FIG. 4, shown is another illustration of the user interface300 of FIG. 3 rendered in the computing device 103 of the networkedenvironment 100. In FIG. 4, the expand component 315 of the workstationentry 309 a has been selected, thereby expanding the additionalinformation region 403. The additional information region 403, which maybe an elastic display region, a pop-up window, a pop-over window, orother type of display region, may be used to display various informationregarding the workstation 106 that corresponds to the workstation entry309 a. It is noted that multiple workstation entries 309 may be expandedconcurrently by selecting their corresponding expand components 315.

The additional information region 403 may include current userinformation 406, management tool selection components 409, diagnosticsinformation 412, and/or other information or components. The additionalinformation region 403 and other user interface components of theworkstation management application 115 may be configured to support“lazy loading,” so that a management user is able to select a piece ofinformation for display before actually loading it. The current userinformation 406 may include various information related to the currentlogged on user of the corresponding workstation 106. Such informationmay include, for example, a username, a real name, a domain, aworkgroup, a title, a business unit, a unique identifier, and so on.

Management tool selection components 409, such as, for example, buttons,links, and/or other user interface components, may be provided forselecting a management tool 118 to be used in managing the workstation106. The management tool selection components 409 illustrated in FIG. 4comprise links labeled “Open Hard Drive,” “Remote Task Manager,” “RemoteConsole/Prompt,” “SMS Remote,” “Remote Assistance,” “Company Tools,” and“Remote Registry Editor.” The management tool selection components 409illustrated in FIG. 4 are merely examples to demonstrate possiblemanagement tool selection components 409. As a non-limiting example,each management tool selection component 409 may correspond to adistinct management tool 118 or a distinct function provided by themanagement tools 118.

In some embodiments, a corresponding management interface 130 such as aservice application may be executed on the workstations 106 for one ormore of the management tools 118. The management interface 130 mayreceive management commands 133 generated through the management tools118, may perform the management function, and may return the result ofthe management function by way of the status updates 136. In someembodiments, one or more management tools 118 may be modified from theircommercially available versions for interoperability with theworkstation management application 115.

The diagnostics information 412 may be configured to display workstationperformance, network performance, and/or other performance measurementor diagnostics information related to the workstation 106. In theexample of FIG. 4, a “Ping Response Time” of “Oms” is shown. Otherdiagnostics information 412 may be provided, such as tracerouteinformation, DNS status information, SNMP information, and so on as canbe appreciated. In one embodiment, the underlying diagnostics areexecuted by the workstation management application 115 when the userinterface 300 is loaded. In another embodiment, the underlyingdiagnostics are executed by the workstation management application 115when the expand component 315 is selected. In still another embodiment,the underlying diagnostics are executed by the workstation managementapplication 115 on a regular interval and the last results are reported.In other embodiments, the execution of the underlying diagnostics may beperformed by other applications executing in other computing devices103. The other applications may then make the diagnostics data availableto the workstation management application 115 by a push or pullconfiguration as desired.

With reference to FIG. 5, shown is another example of a user interface500 rendered in the computing device 103 of the networked environment100. The user interface 500 depicts a workstation management screen ofthe workstation management application 115. The user interface 500 isshown as a network page rendered in a browser application but maycomprise any type of user interface in other embodiments. In the userinterface 500, the workstation name of “SMITHJ1” has been entered in theworkstation name entry field 215, and the submit component 218 has beenselected. The user interface 500 includes current user information 503,a workstation management region 506, and/or other information and/orcomponents. In some embodiments, the user interface 500 may be displayedadjacent to, and may interoperate with, the user interface 300 of FIGS.3 and 4. For example, selecting a workstation name 318 in the userinterface 300 may cause the user interface 500 to be activated for theworkstation 106 corresponding to the workstation name 318. The userinterface 500 may include more detailed information about a workstation106 than available, for example, in the additional information region403 of FIG. 4.

The current user information 503 may include similar information to thecurrent user information 406 in FIG. 4. The current user information 503may include various information related to the current logged on user ofthe corresponding workstation 106. Such information may include, forexample, a username, a real name, a domain, a workgroup, a title, abusiness unit, a unique identifier, and so on.

The workstation management region 506 may include a plurality ofsubregions or groupings directed toward managing particular aspects of aworkstation 106. In the example of FIG. 5, the workstation managementregion 506 is depicted as a collection of tabs, where one tab isactivated or selected. The tabs may include, for example, “General,”“User Info,” “Workstation Info,” “Environment Variables,” and/or othertabs. The activated tab in FIG. 5 is the general region 509. Thecontents of the general tab 509 may include, for example, managementtool selection components 512 and diagnostics information 515, which maycorrespond, respectively, to the management tool selection components409 and the diagnostics information 412 of the additional informationregion 403. In some embodiments, the management tool selectioncomponents 512 and the diagnostics information 515 may includeadditional or different components or information in comparison to themanagement tool selection components 409 and the diagnostics information412 shown in FIG. 4. For example, as illustrated in FIG. 5, thediagnostics information 515 includes components for launching diagnostictools, such as ping, traceroute, and a continuous ping.

Referring next to FIG. 6, shown is another illustration of the userinterface 500 of FIG. 5 rendered in the computing device 103 of thenetworked environment 100. In FIG. 6, a tab corresponding to a user inforegion 603 has been activated or selected. The user info region 603provides various components 604 to obtain information about a currentuser of the workstation, including, for example, a unique identifier ofthe user, servers that are configured for the user, profile locationsassociated with the user, and/or other user information. The informationmay be displayed within the user info region 603 when the tab isselected or may be shown when separate links, buttons, or other usercomponents are selected. Components, such as links, may be provided forbrowsing the file systems of any of the listed servers.

One or more copy components 606 may be provided in order to copyinformation from the user info region 603 to a system clipboard of thecomputing device 103. In one embodiment, a link, button, or othercomponent may be provided for testing the administrator status of theuser. When selected, the workstation management application 115 mayverify the administrator status of the current user at the givenworkstation 106 by communicating with the given workstation 106 oranother system that is capable of verifying the administrator status ofthe user. The workstation management application 115 may also providethe capability of adding or removing the user from the administratorgroup on that workstation 106.

Referring next to FIG. 7, shown is another illustration of the userinterface 500 of FIG. 5 rendered in the computing device 103 of thenetworked environment 100. In FIG. 7, a tab corresponding to aworkstation info region 703 has been activated or selected. In theworkstation info region 703, various components are provided for viewinginformation and/or managing aspects regarding the given workstation 106.To this end, in FIG. 7, the workstation info region 703 includes ageneral information component 706, an installed patches component 709, aprinters component 712, and a drives component 715. Selection of any ofthe components in the workstation info region 703 may cause informationto be shown within the workstation info region 703 in accordance withthe component and/or may launch a separate display region, pop-upwindow, pop-over window, etc. The information may be obtained by theworkstation management application 115 from the workstation data 127 inthe respective workstation 106 and/or from other locations.

The general information component 706 may display various informationabout the workstation 106, including system uptime, serial number,processor type, memory size, etc. The installed patches component 709may display a listing of patches or hoffixes that have been installed onthe workstation 106. The installed patches component 709 may include afacility for allowing a management user to transfer a patch to theworkstation 106 and install the patch on the workstation 106. Theprinters component 712 may provide a listing of printers that have beenconfigured for the workstation 106. The printers component 712 may alsoprovide a facility for configuring printers for use through theworkstation 106. The drives component 715 may provide a facility forviewing file systems on various physical or mapped drives at theworkstation 106. In addition, the drives component 715 may provideinformation about the various drives, such as capacity, usage,fragmentation status, error rate, specifications, etc.

Referring next to FIG. 8, shown is another illustration of the userinterface 500 of FIG. 5 rendered in the computing device 103 of thenetworked environment 100. In FIG. 8, a tab corresponding to anenvironment variables region 803 has been activated or selected. Theenvironment variables region 803 provides for remote configuration ofenvironment variables of the workstation 106. Examples of suchenvironment variables may include path, localappdata, systemroot, temp,and other environment variables as configured for the operating systemof the workstation 106. In the example of FIG. 8, the environmentvariables region 803 presents a facility for editing a system path.

The environment variables region 803 may include a description 806 forinforming the management user of how to use the interface and how thepath may be edited. The description 806 is, of course, optional and maybe absent in some embodiments. The environment variables region 803 mayinclude an editor interface 809 for editing an environment variable suchas the system path. To this end, the entries of the current system pathmay be presented along with path entry remove components 812 forremoving and/or editing the respective entries. The path entry removecomponents 812 may comprise links, buttons, checkboxes, radio buttons,and/or other user interface components. A path entry addition component815 may be provided for adding entries to the path. It is understoodthat an environment variable may be edited in many different ways, forexample, using a textarea or text field containing the entire variable,and the interface presented in FIG. 8 comprises merely one example.

Referring next to FIG. 9, shown is a flowchart that provides one exampleof the operation of a portion of the workstation management application115 according to various embodiments. It is understood that theflowchart of FIG. 9 provides merely an example of the many differenttypes of functional arrangements that may be employed to implement theoperation of the portion of the workstation management application 115as described herein. As an alternative, the flowchart of FIG. 9 may beviewed as depicting an example of steps of a method implemented in thecomputing device 103 (FIG. 1) according to one or more embodiments.

Beginning with box 903, the workstation management application 115 mayobtain a username or another form of user identification from amanagement user at a user interface. In box 906, the workstationmanagement application 115 searches the log data 124 (FIG. 1) for logsthat are associated with the given username or user identification. Inbox 909, the workstation management application 115 obtains userinformation associated with the username or user identification from theuser data 121 (FIG. 1).

Next, in box 912, the workstation management application 115 renders theuser information and a list of workstations 106 (FIG. 1) recently usedby the user in the user interface. In box 915, the workstationmanagement application 115 determines whether a workstation 106 has beenselected. If no workstation 106 has been selected, the portion of theworkstation management application 115 then ends. If a workstation 106has been selected, the workstation management application 115 moves tobox 918 and obtains workstation information associated with theworkstation 106. In box 921, the workstation management application 115then renders the workstation information in the user interface.Thereafter, the portion of the workstation management application 115ends.

With reference to FIG. 10, shown is a schematic block diagram of thecomputing device 103 according to an embodiment of the presentdisclosure. The computing device 103 includes at least one processorcircuit, for example, having a processor 1003 and a memory 1006, both ofwhich are coupled to a local interface 1009. To this end, the computingdevice 103 may comprise, for example, at least one server computer,client computer, or like device. The local interface 1009 may comprise,for example, a data bus with an accompanying address/control bus orother bus structure as can be appreciated.

Stored in the memory 1006 are both data and several components that areexecutable by the processor 1003. In particular, stored in the memory1006 and executable by the processor 1003 are the workstation managementapplication 115, management tools 118, a browser application, andpotentially other applications. Also stored in the memory 1006 may be adata store 112 and other data. In addition, an operating system may bestored in the memory 1006 and executable by the processor 1003.

It is understood that there may be other applications that are stored inthe memory 1006 and are executable by the processors 1003 as can beappreciated. Where any component discussed herein is implemented in theform of software, any one of a number of programming languages may beemployed such as, for example, C, C++, C#, Objective C, Java,Javascript, Perl, PHP, Visual Basic, VBScript, Python, Ruby, Delphi,Flash, or other programming languages.

A number of software components are stored in the memory 1006 and areexecutable by the processor 1003. In this respect, the term “executable”means a program file that is in a form that can ultimately be run by theprocessor 1003. Examples of executable programs may be, for example, acompiled program that can be translated into machine code in a formatthat can be loaded into a random access portion of the memory 1006 andrun by the processor 1003, source code that may be expressed in properformat such as object code that is capable of being loaded into a randomaccess portion of the memory 1006 and executed by the processor 1003, orsource code that may be interpreted by another executable program togenerate instructions in a random access portion of the memory 1006 tobe executed by the processor 1003, etc. An executable program may bestored in any portion or component of the memory 1006 including, forexample, random access memory (RAM), read-only memory (ROM), hard drive,solid-state drive, USB flash drive, memory card, optical disc such ascompact disc (CD) or digital versatile disc (DVD), floppy disk, magnetictape, or other memory components.

The memory 1006 is defined herein as including both volatile andnonvolatile memory and data storage components. Volatile components arethose that do not retain data values upon loss of power. Nonvolatilecomponents are those that retain data upon a loss of power. Thus, thememory 1006 may comprise, for example, random access memory (RAM),read-only memory (ROM), hard disk drives, solid-state drives, USB flashdrives, memory cards accessed via a memory card reader, floppy disksaccessed via an associated floppy disk drive, optical discs accessed viaan optical disc drive, magnetic tapes accessed via an appropriate tapedrive, and/or other memory components, or a combination of any two ormore of these memory components. In addition, the RAM may comprise, forexample, static random access memory (SRAM), dynamic random accessmemory (DRAM), or magnetic random access memory (MRAM) and other suchdevices. The ROM may comprise, for example, a programmable read-onlymemory (PROM), an erasable programmable read-only memory (EPROM), anelectrically erasable programmable read-only memory (EEPROM), or otherlike memory device.

Also, the processor 1003 may represent multiple processors 1003 and thememory 1006 may represent multiple memories 1006 that operate inparallel processing circuits, respectively. In such a case, the localinterface 1009 may be an appropriate network 109 (FIG. 1) thatfacilitates communication between any two of the multiple processors1003, between any processor 1003 and any of the memories 1006, orbetween any two of the memories 1006, etc. The local interface 1009 maycomprise additional systems designed to coordinate this communication,including, for example, performing load balancing. The processor 1003may be of electrical or of some other available construction.

Although the workstation management application 115, the managementtools 118, and other various systems described herein may be embodied insoftware or code executed by general purpose hardware as discussedabove, as an alternative the same may also be embodied in dedicatedhardware or a combination of software/general purpose hardware anddedicated hardware. If embodied in dedicated hardware, each can beimplemented as a circuit or state machine that employs any one of or acombination of a number of technologies. These technologies may include,but are not limited to, discrete logic circuits having logic gates forimplementing various logic functions upon an application of one or moredata signals, application specific integrated circuits havingappropriate logic gates, or other components, etc. Such technologies aregenerally well known by those skilled in the art and, consequently, arenot described in detail herein.

The flowchart of FIG. 9 shows the functionality and operation of animplementation of portions of the workstation management application115. If embodied in software, each block may represent a module,segment, or portion of code that comprises program instructions toimplement the specified logical function(s). The program instructionsmay be embodied in the form of source code that comprises human-readablestatements written in a programming language or machine code thatcomprises numerical instructions recognizable by a suitable executionsystem such as a processor 1003 in a computer system or other system.The machine code may be converted from the source code, etc. If embodiedin hardware, each block may represent a circuit or a number ofinterconnected circuits to implement the specified logical function(s).

Although the flowchart of FIG. 9 shows a specific order of execution, itis understood that the order of execution may differ from that which isdepicted. For example, the order of execution of two or more blocks maybe scrambled relative to the order shown. Also, two or more blocks shownin succession in FIG. 9 may be executed concurrently or with partialconcurrence. Further, in some embodiments, one or more of the blocksshown in FIG. 9 may be skipped or omitted. In addition, any number ofcounters, state variables, warning semaphores, or messages might beadded to the logical flow described herein, for purposes of enhancedutility, accounting, performance measurement, or providingtroubleshooting aids, etc. It is understood that all such variations arewithin the scope of the present disclosure.

Also, any logic or application described herein, including theworkstation management application 115 and the management tools 118,that comprises software or code can be embodied in any non-transitorycomputer-readable medium for use by or in connection with an instructionexecution system such as, for example, a processor 1003 in a computersystem or other system. In this sense, the logic may comprise, forexample, statements including instructions and declarations that can befetched from the computer-readable medium and executed by theinstruction execution system. In the context of the present disclosure,a “computer-readable medium” can be any medium that can contain, store,or maintain the logic or application described herein for use by or inconnection with the instruction execution system. The computer-readablemedium can comprise any one of many physical media such as, for example,electronic, magnetic, optical, electromagnetic, infrared, orsemiconductor media. More specific examples of a suitablecomputer-readable medium would include, but are not limited to, magnetictapes, magnetic floppy diskettes, magnetic hard drives, memory cards,solid-state drives, USB flash drives, or optical discs. Also, thecomputer-readable medium may be a random access memory (RAM) including,for example, static random access memory (SRAM) and dynamic randomaccess memory (DRAM), or magnetic random access memory (MRAM). Inaddition, the computer-readable medium may be a read-only memory (ROM),a programmable read-only memory (PROM), an erasable programmableread-only memory (EPROM), an electrically erasable programmableread-only memory (EEPROM), or other type of memory device.

It should be emphasized that the above-described embodiments of thepresent disclosure are merely possible examples of implementations setforth for a clear understanding of the principles of the disclosure.Many variations and modifications may be made to the above-describedembodiment(s) without departing substantially from the spirit andprinciples of the disclosure. All such modifications and variations areintended to be included herein within the scope of this disclosure andprotected by the following claims.

1. A non-transitory computer-readable medium embodying a programexecutable in a computing device, the program comprising: code thatobtains a username associated with a user account in a network page;code that determines a plurality of workstations that the user accounthas logged into and logged out from based at least in part on a log fileassociated with the user account; code that renders a listing of theworkstations in the network page, the listing comprising a plurality ofworkstation entries, each workstation entry including an expandcomponent, a workstation name, a logon event, and a time associated withthe logon event; and code that renders additional information in thenetwork page when the expand component of one of the workstation entriesis selected, the additional information including a plurality ofcomponents for launching a plurality of management tasks associated withthe corresponding one of the workstations.
 2. The computer-readablemedium of claim 1, wherein the additional information is rendered in anelastic display region of the network page between the corresponding oneof the workstation entries and an adjacent one of the workstationentries.
 3. The computer-readable medium of claim 1, wherein the programfurther comprises code that updates a detailed workstation informationregion in the network page for one of the workstations when theworkstation name corresponding to the one of the workstations isselected.
 4. The computer-readable medium of claim 3, wherein thedetailed workstation information region includes at least one componentfor editing at least one system environment variable associated with theone of the workstations.
 5. The computer-readable medium of claim 3,wherein the detailed workstation information region includes at leastone component for editing at least one system environment variableassociated with the one of the workstations.
 6. The computer-readablemedium of claim 3, wherein the detailed workstation information regionincludes at least one component for verifying an administrator status ofa current user of the one of the workstations.
 7. The computer-readablemedium of claim 3, wherein the program further comprises code thatobtains information from the one of the workstations.
 8. A system,comprising: at least one computing device; and a workstation managementapplication executable in the at least one computing device, theworkstation management application comprising: logic that obtains anidentification of a user in a user interface; logic that renders in theuser interface a listing of workstations that the user has accessed;logic that obtains a selection of one of the workstations in the userinterface; logic that renders in the user interface a listing ofmanagement tasks configured for the one of the workstations; and logicthat launches one of a plurality of management tools to perform aselected one of the management tasks for the one of the workstations. 9.The system of claim 8, wherein the user interface comprises at least onenetwork page.
 10. The system of claim 8, wherein the workstationmanagement application further comprises logic that determines thelisting of workstations that the user has accessed according to a logfile associated with the user.
 11. The system of claim 8, wherein thelogic that renders in the user interface the listing of workstationsthat the user has accessed further includes logic that renders in theuser interface information relating to the user.
 12. The system of claim8, wherein the listing of workstations includes a copy component foreach respective one of the workstations, each copy component beingconfigured to copy information associated with the respective one of theworkstations to a system clipboard of the at least one computing devicewhen the copy component is selected by a management user.
 13. The systemof claim 8, wherein the listing of workstations includes at least oneentry corresponding to the user logging into a workstation and at leastone entry corresponding to the user logging out from the workstation.14. The system of claim 8, wherein the one of the management toolscomprises a file system browser configured to browse at least one filesystem of the one of the workstations.
 15. The system of claim 8,wherein the one of the management tools comprises a remote registryeditor configured to edit a system registry of the one of theworkstations.
 16. The system of claim 8, wherein the one of themanagement tools comprises a remote assistance application configured toenable a management user to provide remote assistance to a current userof the one of the workstations.
 17. The system of claim 8, wherein thelisting of workstations comprises a listing of a proper subset of aplurality of workstations that the user has accessed.
 18. The system ofclaim 8, wherein the selection of the one of the workstations isobtained when a management user selects a selectable workstationidentification in the listing of workstations.
 19. The system of claim8, wherein the selection of the one of the workstations is obtained whena management user inputs a name associated with the one of theworkstations.
 20. The system of claim 8, wherein the workstationmanagement application further comprises: logic that executes a networkperformance measurement for the one of the workstations in response toobtaining the selection of the one of the workstations; and logic thatrenders a result of the network performance measurement in the userinterface in association with the listing of management tasks.
 21. Amethod, comprising the steps of: obtaining, in at least one computingdevice, an identification of a user account from a form embedded in anetwork page; determining, in the at least one computing device, aplurality of workstations accessed by the user account; displaying, inthe at least one computing device, a list of workstation accesses in thenetwork page, each of the workstation accesses indicating a logon eventassociated with the user account; obtaining, in the at least onecomputing device, a selection of one of the workstations from acomponent in the network page; obtaining, in the at least one computingdevice, data from the one of the workstations; and displaying, in the atleast one computing device, a management menu configured for the one ofthe workstations in the network page, the management menu indicating astatus associated with the one of the workstations based at least inpart on the data, the management menu including a plurality ofcomponents for launching a plurality of management tools for remotelymanaging the one of the workstations.
 22. The method of claim 21,further comprising the step of copying, in the at least one computingdevice, information related to the one of the workstations to a systemclipboard when a copy button associated with the one of the workstationsis selected.